Service triggers associated with a subscriber, such as originating call attempt triggers, terminating call attempt triggers, and others, may be set at a switching office. These triggers may be fired or activated at a switching office based on an attribute of the call (e.g., inbound, outbound), the called or calling party associated with the call/call attempt, or other call attributes. In general, a trigger is implemented in software at a switching office and causes the generation of a database query message when a condition is met.
In a traditional public switched telephone network (PSTN), a switch, which may include a central office (CO), a service switching function (SSF), or a service switching point (SSP) acts as the trigger point for further services to be invoked during a call. The switch implements the basic call state machine (BCSM), which is a finite state machine that represents an abstract view of a call from beginning to end (off hook, dialing, answer, no answer, busy, hang up, etc.) As each state is traversed, the exchange encounters detection points (DPs), such as an initial detection point (IDP), at which the switch may invoke a query to the SCP to wait for further instructions on how to proceed. Trigger criteria are defined by the operator and might include the subscriber calling number or the dialed number. The SSF is responsible for entertaining calls requiring value added services.
In some instances, it may be desirable to conditionally set service triggers in a communications network. For example, in mobile communications networks, a mobile communications service provider may desire to conditionally set triggers for subscribers of its network only when the subscribers are roaming. Triggers for mobile network subscribers are stored in subscriber records stored in an HLR. In one example where the CAMEL protocol is used, triggers are stored in CAMEL subscription information records stored in the HLR. Although CAMEL subscription information records are used to store triggers and can be used to set such triggers for mobile subscribers, they cannot be conditionally set using the conventional insert subscriber data procedure because all triggers stored in a CAMEL subscription information record in the HLR would be communicated to the serving mobile switching center (MSC) regardless of whether the subscriber is roaming or not. As a result, triggers that are intended to be set for roaming subscribers would also be set when the subscriber is located in the home network, resulting in unnecessary service invocation.
Accordingly, in light of these difficulties, there exists a need for methods, systems, and computer readable media for dynamically and conditionally setting triggers in a communications network.